package com.swpu.service_remind.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.swpu.service_remind.entity.DrinkRemind;
import com.swpu.service_remind.entity.SitRemind;
import com.swpu.service_remind.mapper.SitRemindMapper;
import com.swpu.service_remind.service.SitRemindService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;

/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author chaichai
 * @since 2024-03-16
 */
@Service
public class SitRemindServiceImpl extends ServiceImpl<SitRemindMapper, SitRemind> implements SitRemindService {

    @Override
    public void saveUserDrinkRemindSetting(String openid, SitRemind sitRemind) {
        LambdaQueryWrapper<SitRemind> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(SitRemind::getUserId,openid);
        SitRemind remind = this.getOne(queryWrapper);
        if(remind==null){
            sitRemind.setUserId(openid);
            sitRemind.setEnableWx(1);
            sitRemind.setEnableSms(0);
            sitRemind.setStatus(1);
            boolean isSave = save(sitRemind);
            if(!isSave){
                throw new RuntimeException("用户喝水提醒保存失败");
            }
        }else {
            remind.setDuration(sitRemind.getDuration());
            remind.setStartHour(sitRemind.getStartHour());
            remind.setEndHour(sitRemind.getEndHour());
            remind.setEnableWx(sitRemind.getEnableWx());
            remind.setEnableSms(sitRemind.getEnableSms());
            remind.setStatus(sitRemind.getStatus());
            this.update(remind,null);
        }
    }

    @Override
    public SitRemind getSitRemindSetting(String openid) {
        LambdaQueryWrapper<SitRemind> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(SitRemind::getUserId,openid);
        SitRemind sitRemind = this.getOne(queryWrapper);
        return sitRemind;
    }
}
